1. Field of the Invention
This invention relates to the field of presenting data streams constructed using a hypertext markup language (HTML). Specifically, this invention is a new and useful method, apparatus, system and computer program product for enhancing the operation of client-side image maps for those who cannot see the displayed image or for those who do not desire to download the image.
2. Background
Because most of the information provided to sighted computer users consists of visual information provided on a computer monitor, the visually impaired or blind computer user works under a significant disadvantage. This same disadvantage applies to users who are remotely operating a computer using a keypad but without a visual display, such as a telephone. For the visually impaired the computer monitor is a featureless expanse of glass or plastic that is unlike paper media that can provide a change in texture so that the blind can tactically read the change in texture (such as Braille). Screen-readers enable computer access to visually impaired users. Screen-readers are well known in the art and convert the text displayed on a computer screen into a sound that mimics spoken language. In other words, the computer reads the displayed text to the user. However, the information presented to the user must be in textual form. These devices work well when textual information is presented on the computer. However, these devices are very limited when graphical information is presented. The technology does not yet exist that allows a computer to describe an image displayed on a monitor. Traditionally this limitation has not significantly affected the visually impaired because, until recently, most information presented on computer monitors has been textual based. However, with the explosion of the World Wide Web (WWW), graphical information is being widely used to carry information content. Thus, visually impaired computer users find it difficult to navigate the WWW.
World Wide Web
The WWW is a massive hypertext system that a user accesses using a WWW browser application executing on a computer--an information access apparatus. The WWW browser apparatus communicates with, and is a client of, information provider apparatus such as server computers each executing server applications capable of communicating with the client browser application. These clients obtain information and services, in the form of web pages, from the server. These web pages are identified by unique universal resource locators (URL) and are usually specified using a markup language--generally a version of the hypertext markup language (HTML). HTML 2.0, is described in RFC1866 and can be found on the WWW at: "http://www.cis.ohio-state.edu/htbin/rfc/rfc1866.html" and is hereby incorporated by reference as illustrative of the prior art. However, HTML is evolving and variants exist. For example, the HTML 3.2 proposal is found at "http://www.w3.org/pub/WWW/MarkUP/Wilbur/features.html", and a proposed HTML extension that describes client-side image maps is found at "http://home.netscape.com/assist/net.sub.-- sites/html.sub.-- extensions.sub.-- 3.html" and by RFC1980 found at "ftp://ds.internic.net/rfc/rfc1980.txt".
The background of the WWW, WWW browser applications, and URLs are well described by reference to the first chapter of Instant HTML Web Pages, by Wayne Ause, Ziff-Davis Press, ISBN 1-56276-363-6, copyright 1995, pages 1-15, hereby incorporated by reference as illustrative of the prior art. The URL specification, also incorporated by reference, is described in RFC1738 and can be found on the WWW at: "http://www.cis.ohio-state.edu/htbin/rfc/rfc1738/html". Briefly, the URL contains a protocol specification and a path specification. The protocol specification notifies the browser of what protocol to use when accessing the remote server. The path specification is generally a hierarchical path that specifies a data server followed by a hypernode (such as a web page) that actually provides the information for the browser.
FIG. 1a illustrates an example client-server information access system implemented using a plurality of computers. An information client system 101 communicates over a network 103 such as the internet 103 to a plurality of information server systems 105. The client system 101 encapsulates requests for services and information within an applicable internet protocol and passes the encapsulated requests to the internet 103 as indicated by an arrow 107. The internet 103 routes these requests to each of the plurality of information server systems 105 addressed within the request as indicated by a plurality of arrows 109. Each of the plurality of addressed information server systems 105 respond to the client system 101 with responses appropriate to the service or information requested by the client system 101. Once the client system 101 receives this information, it is presented to the user by using an application program (for example, a WWW browser) executing on the client computer.
Hypertext documents, composed of HTML data, can be presented to a user by an application. The application processes the HTML data contained within the document to generate an image that can be displayed to a user on a computer display or tangible page. Unlike page description languages, such as PostScript, the "page" layout of HTML documents is dependent on the drawing area used to display the image described by the HTML data. Thus, HTML is used to describe hypertext documents that are portable from one computing platform to another and that do not require WYSIWYG functionality. The HTML concept is that of a scrolling page that can be resized as desired by the user.
FIG 1b illustrates a web page 151 that uses a mapped image to indicate hyperlinks to other information. The web page 151 has a background 153, a first selectable control area (SCA) 155, a second SCA 157 and a third SCA 159. One skilled in the art will understand that the first SCA 155, the second SCA 157 and the third SCA, need not be distinguishable from the background 153, although generally the SCAs 155, 157, 159 are visually distinct.
Sighted users navigate this web page by positioning a cursor over an SCA by manipulating a pointing device and activating the pointing device to invoke the associated web page. This approach to selecting information is difficult for visually impaired users because they cannot see where to position the cursor on the image.
The visually impaired user accesses a web page, such as that in FIG. 1b, by using leap keys to move a cursor. Leap keys are often assigned as the up, down, left and right arrow keys. Often these leap keys have the following functions: the up key causes the parent page of the currently displayed page to be displayed; the down key causes activation of the currently selected URL and typically results in a child page of the current page to be displayed; the left key causes the cursor to backup to the previous SCA on the current page; and the right key causes the cursor to advance to the next SCA on the current page. Each of these leap keys cause an auditory message to be played to the user that provides information as to where the cursor is in the Web Page. The auditory message is often the text displayed by the hyperlink's URL. Thus, if URL was "http://www.sun.com/", the auditory message would be the following spoken words: "H T T P colon slash slash W W W dot Sun dot Com slash".
Another aspect of WWW browser applications is that they often maintain a database of recently accessed hyperlinks. These recently accessed links are displayed in a different color from links that have not been accessed.
Server-side image maps operate by sending the selected coordinates with respect to the displayed image to a process identified by a URL. This process then determines what action is to be associated with the selected coordinate and performs that action. Thus, although a particular image may have multiple selectable areas, the client does not have the information needed to directly invoke an action and does not receive any feedback about the selectivity of an area.
Client-side image maps operate by associating a map of areas to the image map. The map provides facilities for specifying a shape at a given coordinate of the image. This area is also associated with a reference (a URL) that allows the client to directly invoke the reference when the user selects an area. The area also may contain an "ALT" attribute that contains text that describes the containing area. This text is used with text-only WWW browsers (or browsers that do not automatically download images) as a substitute for the areas of the image. The ALT attribute is also used when the prior art cannot display the image. Among others, this condition occurs when the image is not available to the WWW browser, such as when the image-loading facility of the browser is turned off, when the image is unable to be retrieved from the server, or when the user has stopped the image download by invoking the stop download command (usually by activating the browser's stop download SCA).
Users of WWW browser facilities who are connected to the internet through analog phone lines often turn off the image capability of the browser so that the time required to display web pages is reduced (because the data intensive images are not transmitted to the application). This operating mode allows those who do not desire to view the images to more quickly navigate the WWW. A problem with this mode of operation is that the structure of client-side image maps is also not displayed. Thus, a client side image map only displays the ALT attribute in the &lt;AREA&gt; element (if provided) without any spatial information as to the shape, size, and arrangement of the &lt;AREA&gt; elements.
Another problem with client-side image maps is that many users disable the presentation of graphical information when browsing the WWW because these images take significant amounts of time to download. This problem is exacerbated by low speed data links or if too many users share a high-speed digital connection. Thus, users often browse the WWW with image loading disabled until they reach an interesting web page. The problem with this approach to browsing the WWW is that client-side image maps have user selectable control areas (SCAs). Without the image, the position, shape, and structure of the SCAs associated with the image are not apparent even if the hyperlink is displayed
Speech Synthesis and Audio Playback
Speech synthesis systems such as the DECtalk.RTM. and Macintalk.RTM. facilities convert textual strings into sounds that mimic human speech. These facilities are well known in the art. Further, sound reproduction facilities are also well known in the art and are used to play reproduce information stored in digital form into sound.
Thus, there is a need to extend image map capabilities to better operate when the images associated with the image map are not available for viewing.